.TH "nvme_insert_tls_key_versioned" 9 "nvme_insert_tls_key_versioned" "November 2025" "libnvme API manual" LINUX
.SH NAME
nvme_insert_tls_key_versioned \- Derive and insert TLS key
.SH SYNOPSIS
.B "long" nvme_insert_tls_key_versioned
.BI "(const char *keyring "  ","
.BI "const char *key_type "  ","
.BI "const char *hostnqn "  ","
.BI "const char *subsysnqn "  ","
.BI "int version "  ","
.BI "int hmac "  ","
.BI "unsigned char *configured_key "  ","
.BI "int key_len "  ");"
.SH ARGUMENTS
.IP "keyring" 12
Keyring to use
.IP "key_type" 12
Type of the resulting key
.IP "hostnqn" 12
Host NVMe Qualified Name
.IP "subsysnqn" 12
Subsystem NVMe Qualified Name
.IP "version" 12
Key version to use
.IP "hmac" 12
HMAC algorithm
.IP "configured_key" 12
Configured key data to derive the key from
.IP "key_len" 12
Length of \fIconfigured_key\fP
.SH "DESCRIPTION"
Derives a 'retained' TLS key as specified in NVMe TCP 1.0a (if
\fIversion\fP s set to '0') or NVMe TP8028 (if \fIversion\fP is set to '1) and
stores it as type \fIkey_type\fP in the keyring specified by \fIkeyring\fP.
.SH "RETURN"
The key serial number if the key could be inserted into
the keyring or 0 with errno otherwise.
